/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Seniat;

import java.util.Date;

/**
 * 
 * 
 *
 * @author ARMGARCES
 */
public class Utils {
 
    /**
     * 
     * @param _date 
     * @return 
     */
    public static String formatDate(Date _date){
        java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("dd/MM/yyyy");
        String fecha = sdf.format(_date);     
        return fecha;
    }
    /**
     * 
     * @param _mes
     * @return 
     */
    public static String getMes(int _mes){
        switch(_mes){
            case 1:  return "Enero";
            case 2:  return "Febrero";
            case 3:  return "Marzo";
            case 4:  return "Abril";
            case 5:  return "Mayo";
            case 6:  return "Junio";
            case 7:  return "Julio";
            case 8:  return "Agosto";
            case 9:  return "Septiembre";
            case 10: return "Octubre";
            case 11: return "Noviembre";
            case 12: return "Diciembre";
        }
        return "";
        
    }
    /**
     * 
     * @param _tipo
     * @return 
     */
    public static String getTipo(int _tipo){
        switch(_tipo){
            case 0:  return "por RIF";
            case 1:  return "por Factura";
            case 2:  return "por Nro.Control";
            case 3:  return "por Doc.Afectado";
            case 4:  return "por Monto";
        }
        return "";
        
    }
    /**
     * 
     * @param _tipo
     * @return 
     */
    public static String getLabelMes(int _tipo) {
        switch(_tipo){
            case 0:  return "Mes:";
        }
        return "";
    }
    /**
     * 
     * @param _tipo
     * @param _mes 
     * @param _ano 
     * @return 
     */
    public static String getPeriodo(int _tipo,int _mes,int _ano) {
        switch(_tipo){
            case 0:  return Utils.getMes(_mes)+" "+_ano;
        }
        return "";
    }
    /**
     * 
     * @param _tipo
     * @return 
     */
    public static String getParam(int _tipo) {
        switch(_tipo){
            case 0:  return "Rif:";
            case 1:  return "Factura:";
            case 2:  return "Nro.Control:";
            case 3:  return "Doc.Afectado:";
            case 4:  return "Monto:";
        }
        return "";
    }
    /**
     * 
     * @param _tipo
     * @return 
     */
    public static String getQuery(int _tipo){
        switch(_tipo){
            case 0:  
                return "SELECT r FROM Retenciones r WHERE r.rifAgente = :rifAgente AND r.mes = :mes ORDER BY r.fecha DESC";
            case 1:  
                return "SELECT r FROM Retenciones r WHERE r.nroDocumento = :nrodocumento ORDER BY r.fecha DESC";
            case 2:  
                return "SELECT r FROM Retenciones r WHERE r.nroControl = :nrocontrol ORDER BY r.fecha DESC";
            case 3:  
                return "SELECT r FROM Retenciones r WHERE r.nroAfectado = :nroafectado ORDER BY r.fecha DESC";
            case 4:  
                return "SELECT r FROM Retenciones r WHERE r.monto1 = :monto ORDER BY r.fecha DESC";
            default: return "Error: tipo no compatible = "+_tipo;
        }
    }
    /**
     * 
     * @param path 
     * @return 
     */
    public static String getPeriodo(String path){
        try{
            String[] a = path.split("/");
            String mes = a[a.length-1].substring(0,5);
            return mes;
        }catch(Exception e){
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 
     * @param _mes
     * @param _ano
     * @return 
     */
    public static String formatearMes(int _mes, int _ano) {
        String result = "";
        if(0 < _mes && _mes < 13){
            switch(_mes){
                case 1:  
                    result = "ene";
                    break;                    
                case 2:  
                    result = "feb";
                    break;
                case 3:  
                    result = "mar";
                    break;
                case 4:  
                    result = "abr";
                    break;
                case 5:  
                    result = "may";
                    break;
                case 6:  
                    result = "jun";
                    break;
                case 7:  
                    result = "jul";
                    break;
                case 8:  
                    result = "ago";
                    break;
                case 9:  
                    result = "sep";
                    break;
                case 10: 
                    result = "oct";
                    break;
                case 11: 
                    result = "nov";
                    break;
                case 12: 
                    result = "dic";
                    break;
            }
            
            int ano = _ano - 2000;
            result += ano;
        }
        return result;
    }

    
}
